#include <stdio.h>
#include <stdlib.h>
int wc(char*);
int main(int argc, char** argv){    
FILE *fp = NULL;    
char buff[100], 
*fileName = NULL;    
int wcnt = 0;    
if (argc <2)    
{        
fprintf(stderr, "Usage: wc <file_name>\n");        
exit(1);    
}    
fileName = argv[1];    
if ( (fp = fopen(fileName, "r")) == NULL)    
{        
perror(fileName);        
exit(1);    
}    
while (!feof(fp))    
{        
buff[0] = '\0';        
fgets(buff, sizeof buff/sizeof(char), fp);        
wcnt += wc(buff);    
}    
fclose(fp);    
printf("word count: %i words\n", wcnt);    
return 0;
}/*Idea of this function taked from the book : Programming in C, thired edition*/
int wc(char* line){    
int is_alpha(int ch), wc=0;    
int start_word = 1;    
while (*line != '\0')    
{        
if (is_alpha(*line))        
{            
if (start_word)            
{                
start_word = 0;                
wc++;            
}        
}
else
{            
start_word = 1;        
}        
line++;    
}    
return wc;
}
int is_alpha(int ch){    
return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');
}
